/**
 * 网络请求
 * 调用这里封装的网络请求方法，会在请求头中带上用户token和用户user-id,并在网络请求错误时给出相应的处理（未登录-->跳转至登录页面；请求错误-->提示错误信息,当然在请求错误时也可以追加相应的处理代码）
 */
module.exports = {
	ajax: (options) => {
		if (options.isShowLoad) {
			uni.showLoading({
				title: '请求中...',
				mask: true
			})
		}
		console.log(getApp().globalData.userId || 0)
		uni.request({
			url: options.url,
			method: options.method || 'GET',
			header: {
				'Content-Type': 'application/x-www-form-urlencoded',
					'token': getApp().globalData.token,
					'user-id': getApp().globalData.userId || 0
			},
			data: options.data || {},
			success: (res) => {
				if (!res.data.status && res.data.login !== undefined && !res.data.login) {
					//用户token失效，跳转到登录页面
					uni.reLaunch({
						url: '/pages/login/login'
					});
					return false;
				}
				if (res.data.status !== undefined && !res.data.status) {
					uni.showModal({
						title: "错误信息",
						content: res.data.msg !== undefined ? res.data.msg : '发生错误',
						showCancel: false
					});
				}
				if (typeof options.success === 'function') {
					options.success(res);
				}
			},
			fail: (res) => {
				uni.showModal({
					title: '网络错误',
					content: '请稍后再试',
					showCancel: false
				})
				if (typeof options.fail === 'function') {
					options.fail(res);
				}
			},
			complete: (res) => {
				if (options.isShowLoad) {
					uni.hideLoading();
				}
				if (typeof options.complete === 'function') {
					options.complete(res);
				}
			}
		});
	},
	ajaxPro: (options) => {
		return new Promise((resolve, reject) => {
			if (options.isShowLoad) {
				uni.showLoading({
					title: '请求中...',
					mask: true
				})
			}
			uni.request({
				url: options.url,
				method: options.method || 'GET',
				data: options.data || {},
				header: {
					'Content-Type': 'application/x-www-form-urlencoded',
					'token': getApp().globalData.token,
					'user-id': getApp().globalData.userId || 0
				},
				success: (res) => {
					if (!res.data.status && res.data.login !== undefined && !res.data.login) {
						//用户token失效，跳转到登录页面
						uni.reLaunch({
							url: '/pages/login/login'
						});
						return false;
					}
					if (res.data.status !== undefined && !res.data.status) {
						uni.showModal({
							title: "错误信息",
							content: res.data.msg !== undefined ? res.data.msg : '发生错误',
							showCancel: false
						});
					}
					resolve(res.data);
				},
				fail: (err) => {
					uni.showModal({
						title: '网络错误',
						content: '请稍后再试',
						showCancel: false
					})
					reject(err);
				},
				complete: (res) => {
					if (options.isShowLoad) {
						uni.hideLoading();
					}
				}
			})
		});
	}
}
